package comportement;

import cartes.Carte;
import cartes.Monstre;
import common.Constantes;
import java.io.Serializable;
import plateau.Joueur;

public class Magicien implements ActionClasse, Serializable{


    // Sort de vol: Après avoir jeté le dé pour déguerpir, il peut défausser jusqu'à 3 cartes, chaque carte lui conèfre un bonus de 1

    // Sort de charme : on peut défausser toute la main ( minimum de 3 cartes) pour charmer un monstre et un seul
    // au lieu de le combattre . défausser le monstre et prendre son trésor mais pas de gain de niveau. si
    //il y a d'autres monstres, les combattre normalement.

     /*
      Définit l'action de la classe Pretre: peut défausser jusqu'à 3
      cartes durant un combat, chacune donne un bonus de 1
      @param : /
      @return : /
      @author : Ophélie
     */


    //Sort de vol
    public void action(Joueur j, Monstre monstre, Joueur unautreJoueur, Carte uneCarte) {
         Carte maCarte = null;
         System.out.println("Choisissez la carte à défausser");
         //Affichage de la carte et choix

         //
         j.defausserCarteMain(maCarte);
         j.upBonusDeguerpir(1);
   
    }

    //sort de charme
    public void action1(Joueur j, Monstre monstre, Joueur unautreJoueur, Carte uneCarte) {
        //test du nombre de carte dans l'appel

        //défausse des cartes tant qu'il y en a
        for (Carte maCarte : j.getMain()){
            j.defausserCarteMain(maCarte);
        }

        //déguerpir

        //pioche autant de trésor qu'il le faut par rapport au monstre
        int tresor =  monstre.nbTresors;
        for(int i = 0; i < tresor ; i++){
             j.piocher(Constantes.C_TRESOR);
        }                  


       //pas de gain de niveau

        //prend le trésor
        

    }
}